package com.example.demo.usermapper;

import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
/*
相当于component注解,将该类作为Mapper层bean传入到IOC容器中
在IOC容器中创建对象
 */
public interface UserMapper {
    @Select("select * from emp")
    /*
    内部封装了JDBC,省略了引入依赖,注册依赖,创建连接,获取声明对象的过程
    直接书写sql语句,传入给DBS操作数据库
    */
    List<User> findAll();
    /*
    其他层通过@AutoWired注解直接获取UserMapper接口的实现类对象
    IOC容器中通过@Select注解和方法的返回值类型编写方法的实现逻辑
    相当于
    public abstract List<User> findALl(){
    JDBC访问数据库
    内部通过框架解析获取的数据库数据,将其封装成<User>对象,存储到list集合中
    return list
    }
     */
}
